package wortubung;

import static wortubung.util.CommonUtils.isl;

import java.util.HashMap;
import java.util.Map;

import wortubung.core.LANG;
import wortubung.util.ImmutableStringList;

public class GeneralStudy {

    public static Map<LANG,ImmutableStringList> getWeekdayNames() {
    	final Map<LANG,ImmutableStringList> wdays = new HashMap<LANG,ImmutableStringList>();
    	if (wdays.isEmpty()) {
    		wdays.put(LANG.ru, isl("понедельник", "вторник",  "среда",     "четверг",    "пятница",   "суббота",  "воскресенье"));
    		wdays.put(LANG.de, isl("Montag",      "Dienstag", "Mittwoch",  "Donnerstag", "Freitag",   "Samstag",  "Sonntag"    ));
    		wdays.put(LANG.fr, isl("Lundi",       "Mardi",    "Mecredi",   "Jeudi",      "Vendredi",  "Samedi",   "Dimanche"   ));
    		wdays.put(LANG.es, isl("lunes",       "martes",   "miércoles", "jueves",     "viernes",   "sábado",   "domingo"    ));
    		wdays.put(LANG.it, isl("lunedì",      "martedì",  "mercoledì", "giovedì",    "venerdì",   "sabato",   "domenica"   ));
    		wdays.put(LANG.la, isl("Lunae",       "Martis",   "Mercurii",  "Iovis",      "Veneris",   "Saturni",  "Solis"      ));
    		wdays.put(LANG.el, isl("Δευτέρα",     "Τρίτη",    "Τετάρτη",   "Πέμπτη",     "Παρασκευή", "Σάββατο",  "Κυριακή"    ));
    		wdays.put(LANG.en, isl("Monday",      "Tuesday",  "Wednesday", "Thursday",   "Friday",    "Saturday", "Sunday"     ));
    	}
    	return wdays;
    }

    public static Map<LANG,ImmutableStringList> getMonthNames() {
    	final Map<LANG,ImmutableStringList> months = new HashMap<LANG,ImmutableStringList>();
    	if (months.isEmpty()) {
    		months.put(LANG.ru, isl("январь",     "февраль",     "март",    "апрель",   "май",    "июнь",    "июль",    "август",    "сентябрь",    "октябрь",   "ноябрь",    "декабрь"   ));
    		months.put(LANG.de, isl("Januar",     "Februar",     "März",    "April",    "Mai",    "Juni",    "Juli",    "August",    "September",   "Oktober",   "November",  "Dezember"  ));
    		months.put(LANG.fr, isl("janvier",    "février",     "mars",    "avril",    "mai",    "juin",    "juillet", "août",      "septembre",   "octobre",   "novembre",  "décembre"  ));
    		months.put(LANG.es, isl("enero",      "febrero",     "marzo",   "abril",    "mayo",   "junio",   "julio",   "agosto",    "septiembre",  "octubre",   "noviembre", "diciembre" ));
    		months.put(LANG.it, isl("gennaio",    "febbraio",    "marzo",   "aprile",   "maggio", "giugno",  "luglio",  "agosto",    "settembre",   "ottobre",   "novembre",  "dicembre"  ));
    		months.put(LANG.la, isl("Ianuarius",  "Februarius",  "Martius", "Aprilis",  "Maius",  "Iunius",  "Iulius",  "Augustus",  "September",   "October",   "November",  "December"  ));
    		months.put(LANG.el, isl("Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος",  "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"));
    		months.put(LANG.en, isl("January",    "February",    "March",   "April",    "May",    "June",    "July",    "August",    "September",   "October",   "November",  "December"  ));
    	}
    	return months;
    }

    public static Map<LANG,ImmutableStringList> getSeasonNames() {
    	final Map<LANG,ImmutableStringList> seasons = new HashMap<LANG,ImmutableStringList>();
    	if (seasons.isEmpty()) {
    		seasons.put(LANG.ru, isl("весна",     "лето",   "осень",    "зима"    ));
    		seasons.put(LANG.de, isl("Frühling",  "Sommer", "Herbst",   "Winter"  ));
    		seasons.put(LANG.fr, isl("printemps", "été",    "automne",  "hiver"   ));
    		seasons.put(LANG.es, isl("primavera", "verano", "otoño",    "invierno"));
    		seasons.put(LANG.it, isl("primavera", "estate", "autunno",  "inverno" ));
    		seasons.put(LANG.la, isl("ver",       "aestas", "autumnus", "hiems"   ));
    		seasons.put(LANG.en, isl("spring",    "summer", "autumn",   "winter"  ));
    	}
    	return seasons;
    }
}
